﻿namespace Service.Auth.Model.Model.RequestDto.Permissions
{
    /// <summary>
    /// 修改菜单或按钮权限的数据传输对象（DTO）
    /// </summary>
    public class UpdatePermissionsDto
    {
        /// <summary>
        /// 权限ID（唯一标识）
        /// </summary>
        public long Id { get; set; }

        /// <summary>
        /// 权限编码（唯一标识）
        /// </summary>
        public string Code { get; set; }

        /// <summary>
        /// 菜单或按钮名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 是否是按钮（true=按钮；false=菜单）
        /// </summary>
        public bool IsButton { get; set; }

        /// <summary>
        /// 是否隐藏（true=隐藏；false=显示）
        /// </summary>
        public bool IsHide { get; set; }

        /// <summary>
        /// 功能标识（如权限字符串）
        /// </summary>
        public string Func { get; set; }

        /// <summary>
        /// 排序顺序
        /// </summary>
        public int OrderSort { get; set; }

        /// <summary>
        /// 图标（可选）
        /// </summary>
        public string Icon { get; set; }

        /// <summary>
        /// 描述信息（可选）
        /// </summary>
        public string Description { get; set; }

        /// <summary>
        /// 父级菜单ID（可空）
        /// </summary>
        public long? ParentId { get; set; }

        /// <summary>
        /// 模块路径（前端路由等）
        /// </summary>
        public string ModuleUrl { get; set; }

        /// <summary>
        /// 组件名称（如前端组件路径）
        /// </summary>
        public string Component { get; set; }
    }
}
